﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ServiceSATT;
using ApplicationContext;

namespace UI_SATT
{
    public partial class FrmListaInscriptos : Form,IListadoInscripciones
    {
        string Equipo;
        string TorneoActual;
        string EventoActual;
        public FrmListaInscriptos()
        {
            InitializeComponent();
        }

        public FrmListaInscriptos(string equipo, string torneo, string evento)
        {
            InitializeComponent();
            Equipo = equipo;
            TorneoActual = torneo;
            EventoActual = evento;

        }

        string ImplementaInscripcion = "InscripcionService";

        IInscripcionService InscripcionServicio;


        private void FrmListaInscriptos_Load(object sender, EventArgs e)
        {
            TxtTorneo.Text = TorneoActual;
            TxtEvento.Text = EventoActual;
            InscripcionServicio = (IInscripcionService)AppContext.Instance.GetObject(ImplementaInscripcion);
            InscripcionServicio.Listar(this);

        }

        #region IListadoInscripciones Members


        public string Torneo
        {
            get { return TxtTorneo.Text; }
        }

        public string[][] ListaInscripciones
        {
            set 
            {
                if (DgvListaInscriptos.ColumnCount == 0)
                {
                    DgvListaInscriptos.Columns.Add("InscripcionNro", "Inscripcion Nº");
                    DgvListaInscriptos.Columns.Add("Fecha", "Fecha De Inscripcion");
                    DgvListaInscriptos.Columns.Add("Nombre", "Nombre");
                    DgvListaInscriptos.Columns.Add("Estado", "Estado");
                    DgvListaInscriptos.Columns["Estado"].ValueType = typeof(Boolean);
                }
                if (DgvListaInscriptos.RowCount > 0)
                    DgvListaInscriptos.Rows.Clear();
                foreach (string[] Objeto in value)
                {
                    DgvListaInscriptos.Rows.Add(Objeto);
                }
            }
        }

        #endregion


        private void BtnAsignarInscripcion_Click(object sender, EventArgs e)
        {
            if (DgvListaInscriptos.SelectedRows.Count == 1)
            {
                if (Equipo == "Equipo1")
                {
                    FrmCierreTorneos.Equipo1[0] = new string[2] { DgvListaInscriptos.SelectedRows[0].Cells[2].Value.ToString(),DgvListaInscriptos.SelectedRows[0].Cells[0].Value.ToString() };
                    if (InscripcionServicio.ObtenerTipo(int.Parse(DgvListaInscriptos.SelectedRows[0].Cells[0].Value.ToString())) == 2)
                    {
                        FrmCierreTorneos.Equipo1[1] = new string[2] { DgvListaInscriptos.SelectedRows[1].Cells[2].Value.ToString(), DgvListaInscriptos.SelectedRows[0].Cells[0].Value.ToString() };
                    }
                   
                    InscripcionServicio.CambiarEstado(int.Parse(DgvListaInscriptos.SelectedRows[0].Cells[0].Value.ToString()),false);
                    this.DialogResult = DialogResult.OK;
                }
                else
                {
                    FrmCierreTorneos.Equipo2[0] = new string[2] { DgvListaInscriptos.SelectedRows[0].Cells[2].Value.ToString(), DgvListaInscriptos.SelectedRows[0].Cells[0].Value.ToString() };
                    if (InscripcionServicio.ObtenerTipo(int.Parse(DgvListaInscriptos.SelectedRows[0].Cells[0].Value.ToString())) == 2)
                    {
                        FrmCierreTorneos.Equipo2[1] = new string[2] { DgvListaInscriptos.SelectedRows[1].Cells[2].Value.ToString(), DgvListaInscriptos.SelectedRows[0].Cells[0].Value.ToString() };
                    }
                    InscripcionServicio.CambiarEstado(int.Parse(DgvListaInscriptos.SelectedRows[0].Cells[0].Value.ToString()),false);
                    this.DialogResult = DialogResult.OK;
                }
                this.Close();
            }
        }

        private void BtnModificarInscripcion_Click(object sender, EventArgs e)
        {

        }

        #region IListadoInscripciones Members

        public string Evento
        {
            get { return TxtEvento.Text; }
        }

        #endregion
    }
}
